package Commons;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class Spielzustand implements Serializable {

	/**
	 * author juergen
	 */
	private static final long serialVersionUID = 1L;
	List jokerKarten = new ArrayList<>();
	List stack = new ArrayList<>();
	
	 ArrayList<Karte> vierzehnSpielerKarten1 = new ArrayList<>();
	 ArrayList<Karte> vierzehnSpielerKarten2 = new ArrayList<>();
	 ArrayList<Karte> haggis = new ArrayList<>();
	 ArrayList<Karte> zuspeielendeKarten = new ArrayList<>();
	 ArrayList<Spieler> spieler = new ArrayList<>();
	
	int ziellinie = 0;
	boolean spielBeendet = false;
	boolean HatFalscheKombinationGespielt;
	boolean gemischteKartenGesendet = false;
	boolean gemischteKartenAngekommen = false;

	int umkaempftePunkte = 0;
	int gespielterRang = 0;

	int punkteStand;
	int rangLatte = 0;
	


	Karte karte;

	

	public Spielzustand() {
		// TODO Auto-generated constructor stub
	}

	public List getJokerKarten() {
		return jokerKarten;
	}

	public void setJokerKarten(List jokerKarten) {
		this.jokerKarten = jokerKarten;
	}

	public List getStack() {
		return stack;
	}

	public void setStack(List stack) {
		this.stack = stack;
	}

	public int getPunkteStand() {
		return punkteStand;
	}

	public void setPunkteStand(int punkteStand) {
		this.punkteStand = punkteStand;
	}



	public Karte getKarte() {
		return karte;
	}

	public void setKarte(Karte karte) {
		this.karte = karte;
	}

	
	
	
	public ArrayList<Karte> getHaggis() {
		return haggis;
	}

	public void setHaggis(ArrayList<Karte> haggis) {
		System.out.println("-----------------------Haggis Groesse " + haggis.size());
		/*
		for(Karte karte : haggis)
		{
			System.out.println(haggis);
		}
		*/
		this.haggis = haggis;
	}



	public ArrayList<Karte> getVierzehnSpieler1() {
		return vierzehnSpielerKarten1;
	}

	public void setVierzehnSpieler1(ArrayList<Karte> vierzehnSpieler1) {
		this.vierzehnSpielerKarten1 = vierzehnSpieler1;
	}

	public ArrayList<Karte> getVierzehnSpieler2() {
		return vierzehnSpielerKarten2;
	}

	public void setVierzehnSpieler2(ArrayList<Karte> vierzehnSpieler2) {
		
		
		
		
		
		this.vierzehnSpielerKarten2 = vierzehnSpieler2;
	}
	public Spieler getSpieler(int index) {
		return spieler.get(index);
	}

	//todo synchronized
	public void setSpieler(Spieler spieler) {
		this.spieler.add(spieler);
		System.out.println("Spieler"+this.spieler.size());
	}
	
	public int getZiellinie() {
		return ziellinie;
	}

	public void setZiellinie(int ziellinie) {
		this.ziellinie = ziellinie;
	}

	public boolean isSpielBeendet() {
		return spielBeendet;
	}

	public void setSpielBeendet(boolean spielBeendet) {
		this.spielBeendet = spielBeendet;
	}

	public int getUmkaempftePunkte() {
		return umkaempftePunkte;
	}

	public void setUmkaempftePunkte(int umkaempftePunkte) {
		this.umkaempftePunkte = umkaempftePunkte;
	}
	
	public void setzuspielendekarten (ArrayList<Karte> zuspielendeKarten) {
		this.zuspeielendeKarten = zuspielendeKarten;
	}
	public void setGemischteKartenGesendet(boolean gemischteKartenGesendet) {
		this.gemischteKartenGesendet = gemischteKartenGesendet;
	}
	
	public boolean isGemischteKartenGesendet() {
		return gemischteKartenGesendet;
	}

	public boolean isGemischteKartenAngekommen() {
		return gemischteKartenAngekommen;
	}

	public void setGemischteKartenAngekommen(boolean gemischteKartenAngekommen) {
		this.gemischteKartenAngekommen = gemischteKartenAngekommen;
	}


	public ArrayList<Karte> getZuspielendeKarten() {
		return zuspeielendeKarten;
	}
	public int getGespielterRang() {
		return gespielterRang;
	}

	public void setGespielterRang(int gespielterRang) {
		this.gespielterRang = gespielterRang;
	}
	public int getRangLatte() {
		return rangLatte;
	}

	public void setRangLatte(int rangLatte) {
		this.rangLatte = rangLatte;
	}

	public boolean isHatFalscheKombinationGespielt() {
		return HatFalscheKombinationGespielt;
	}

	public void setHatFalscheKombinationGespielt(boolean hatFalscheKombinationGespielt) {
		HatFalscheKombinationGespielt = hatFalscheKombinationGespielt;
	}



	
	
}
